5c4be93a9083c4ba7c04b406cc410acfd337a22a,opennms-alarmd/src/main/java/org/opennms/netmgt/alarmd/AlarmPersisterImpl.java,AlarmPersisterImpl,addOrReduceEventAsAlarm,#Event#,72

Before Change


        OnmsEvent e = m_eventDao.get(event.getDbid());
        Assert.notNull(e, "Event was deleted before we could retrieve it and create an alarm."); //TODO: Understand why we use Assert

        OnmsAlarm alarm = m_alarmDao.findByReductionKey(event.getAlarmData().getReductionKey());

        if (alarm == null) {
            alarm = createNewAlarm(e, event);

After Change


        OnmsEvent e = m_eventDao.get(event.getDbid());
        Assert.notNull(e, "Event was deleted before we could retrieve it and create an alarm."); //TODO: Understand why we use Assert
    
        String reductionKey = event.getAlarmData().getReductionKey();
        log().debug("addOrReduceEventAsAlarm: looking for existing reduction key: "+reductionKey);
        OnmsAlarm alarm = m_alarmDao.findByReductionKey(reductionKey);
    
        if (alarm == null) {
            log().debug("addOrReduceEventAsAlarm: reductionKey:"+reductionKey+" not found, instantiating new alarm");
            alarm = createNewAlarm(e, event);
            
            //FIXME: this should be a cascaded save
            m_alarmDao.save(alarm);
            m_eventDao.saveOrUpdate(e);
        } else {
            log().debug("addOrReduceEventAsAlarm: reductionKey:"+reductionKey+" found, reducting event to exisiting alarm: "+alarm.getIpAddr());
            reduceEvent(e, alarm);
            m_alarmDao.update(alarm);
            m_eventDao.update(e);